package org.omg.CORBA;

import java.util.ArrayList;
import java.util.List;

import modelo.Viagem;

public class SensorImpl extends SensorPOA {

	private List<Viagem> listaViagens;
	private boolean ocupado;
	private final String ORIGEM;
	private final String DESTINO;
	private final String TABULACAO;

	public SensorImpl() {
		listaViagens = new ArrayList<Viagem>();
		ORIGEM = "Origem: ";
		DESTINO = "Destino: ";
		TABULACAO = "\t";
	}

	@Override
	public String historicoViagens() {
		StringBuilder historico = new StringBuilder();

		for (Viagem viagen : listaViagens) {
			historico.append(ORIGEM).append(viagen.getOrigem());
			historico.append(TABULACAO);
			historico.append(DESTINO).append(viagen.getDestino());
		}
		return historico.toString();
	}

	@Override
	public boolean trilhoOcupado() {
		return ocupado;
	}

	@Override
	public void inserirViagem(String origen, String destino) {
		Viagem viagem = new Viagem(origen, destino);
		listaViagens.add(viagem);
	}

	@Override
	public void ocuparTrilho() {
		ocupado = true;
	}

	@Override
	public void desocuparTrilho() {
		ocupado = false;
	}

}
